/**
 * <pre>{@code
 * // 示例
 * @Component
 * @Aspect
 * public class AspectConfig {
 *     @Autowired
 *     private AspectHandlerResolver
 *             aspectResolver;
 *
 *
 *     @Around("@annotation(com.example.demo.test.annotation.TestAnnotation)")
 *     public Object proceed(ProceedingJoinPoint point) throws Throwable {
 *         return aspectResolver.around(point, TestAnnotation.class);
 *     }
 * }
 *
 * // 必须有  @CodeAspect
 * @CodeAspect(
 *         handlerArray = {Handler1.class, Handler2.class},
 *         type = AspectType.AFTER
 * )
 *
 * @Target({ElementType.METHOD, ElementType.TYPE})
 * @Retention(RetentionPolicy.RUNTIME)
 * @Documented
 * @Inherited
 * public @interface TestAnnotation {
 *
 *     int value() default 999;
 * }
 *
 * }</pre>
 */
package code.whmmm.util.spring.aspect;